Revisé la mayoría de las preguntas en SO, pero no encontré mi respuesta.
Estoy tratando de obtener un token JWT de un servidor de identidad.
Así es cómo:
var discoveryDocument = new DiscoveryDocumentRequest { Address = "https://admin.blabla.app:5000/", Policy = { RequireHttps = false } }; var auth = httpClient.GetDiscoveryDocumentAsync(discoveryDocument).Result; El error que recibo es An invalid request URI was provided. The request URI must either be an absolute URI or BaseAddress must be set.
DiscoveryDocumentRequest
{ "Policy": { "LoopbackAddresses": [ "localhost", "127.0.0.1" ], "Authority": "https://admin.blabla.app:5000", "AuthorityValidationStrategy": {}, "RequireHttps": false, "AllowHttpOnLoopback": true, "ValidateIssuerName": true, "ValidateEndpoints": true, "EndpointValidationExcludeList": [], "AdditionalEndpointBaseAddresses": [], "RequireKeySet": true }, "Address": "https://admin.blabla.app:5000/", "ClientId": null, "ClientSecret": null, "ClientAssertion": { "Type": null, "Value": null }, "ClientCredentialStyle": 1, "AuthorizationHeaderStyle": 0, "Parameters": [], "Version": { "Major": 1, "Minor": 1, "Build": -1, "Revision": -1, "MajorRevision": -1, "MinorRevision": -1 }, "Content": null, "Method": { "Method": "GET" }, "RequestUri": null, "Headers": [ { "Key": "Accept", "Value": [ "application/json" ] } ], "Properties": {} }Este código está en un servicio de Windows.
Dato curioso: el mismo código funciona en diferentes máquinas con Windows. ¿Por qué? ¿Cuál podría ser el problema?
Consulte esta muestra y escriba:
var client = new HttpClient(); var disco = await client.GetDiscoveryDocumentAsync("https://admin.blabla.app:5000/"); if (disco.IsError) { Console.WriteLine(disco.Error); return; }verifique su URL https://admin.blabla.app:5000/ su error está relacionado con su URL puede probar su código https://demo.identityserver.io/